diff --git a/.vscode/launch.json b/.vscode/launch.json
index 0c0f6b9..31b70be 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -55,7 +55,7 @@
             "remotePath": "",
             "port": 2345,
             "host": "127.0.0.1",
-            "program": "${workspaceRoot}/",
+            "program": "${workspaceRoot}/recorder/cmd",
             "osx": {
                 "env": {
                     //"GOPATH": "${env.HOME}/Dropbox/go"
@@ -66,7 +66,7 @@
                     //"GOPATH": "${env.USERPROFILE}\\Dropbox\\go"
                 }
             },
-            "args": [],
+            "args": ["-recDir","/Users/amitbet/vncRec/recording.rbs", "-targPort","5903","-targPass","Ch_#!T@8"],
             "showLog": true
         },
         {
diff --git a/player/player_test.go b/player/player_test.go
index 30e2c40..10e48bd 100644
--- a/player/player_test.go
+++ b/player/player_test.go
@@ -41,7 +41,7 @@ func TestServer(t *testing.T) {
 	cfg.NewConnHandler = func(cfg *server.ServerConfig, conn *server.ServerConn) error {
 		//fbs, err := loadFbsFile("/Users/amitbet/Dropbox/recording.rbs", conn)
 		//fbs, err := loadFbsFile("/Users/amitbet/vncRec/recording.rbs", conn)
-		fbs, err := ConnectFbsFile("/Users/amitbet/vncRec/recording1500554806.rbs", conn)
+		fbs, err := ConnectFbsFile("/Users/amitbet/vncRec/recording.rbs", conn)
 
 		if err != nil {
 			logger.Error("TestServer.NewConnHandler: Error in loading FBS: ", err)
diff --git a/proxy/cmd/main.go b/proxy/cmd/main.go
index 1943cbd..8415390 100644
--- a/proxy/cmd/main.go
+++ b/proxy/cmd/main.go
@@ -2,12 +2,10 @@ package main
 
 import "vncproxy/proxy"
 import "flag"
-import "fmt"
 import "vncproxy/logger"
 import "os"
 
 func main() {
-	fmt.Println("running!")
 	//create default session if required
 	var tcpPort = flag.String("tcpPort", "", "tcp port")
 	var wsPort = flag.String("wsPort", "", "websocket port")
diff --git a/main.go b/recorder/cmd/main.go
similarity index 76%
rename from main.go
rename to recorder/cmd/main.go
index 45150e1..6539f3d 100644
--- a/main.go
+++ b/recorder/cmd/main.go
@@ -1,6 +1,7 @@
 package main
 
 import (
+	"flag"
 	"net"
 	"time"
 	"vncproxy/client"
@@ -11,20 +12,28 @@ import (
 )
 
 func main() {
+	// var tcpPort = flag.String("tcpPort", "", "tcp port")
+	// var wsPort = flag.String("wsPort", "", "websocket port")
+	// var vncPass = flag.String("vncPass", "", "password on incoming vnc connections to the proxy, defaults to no password")
+	var recordDir = flag.String("recDir", "", "path to save FBS recordings WILL NOT RECORD IF EMPTY.")
+	var targetVncPort = flag.String("targPort", "", "target vnc server port")
+	var targetVncPass = flag.String("targPass", "", "target vnc password")
+
+	flag.Parse()
 
 	//nc, err := net.Dial("tcp", "192.168.1.101:5903")
-	nc, err := net.Dial("tcp", "localhost:5903")
+	nc, err := net.Dial("tcp", "localhost:"+*targetVncPort)
 
 	if err != nil {
 		logger.Errorf("error connecting to vnc server: %s", err)
 	}
 	var noauth client.ClientAuthNone
-	authArr := []client.ClientAuth{&client.PasswordAuth{Password: "Ch_#!T@8"}, &noauth}
+	authArr := []client.ClientAuth{&client.PasswordAuth{Password: *targetVncPass}, &noauth}
 
 	//vncSrvMessagesChan := make(chan common.ServerMessage)
 
 	//rec, err := recorder.NewRecorder("c:/Users/betzalel/recording.rbs")
-	rec, err := recorder.NewRecorder("/Users/amitbet/vncRec/recording.rbs")
+	rec, err := recorder.NewRecorder(*recordDir) //"/Users/amitbet/vncRec/recording.rbs")
 	if err != nil {
 		logger.Errorf("error creating recorder: %s", err)
 		return