added user input parsing and some basic protocol commands