Add argument parsing and break out rpc intefaces in seperate files