completely rebuilt protocol, auto mode works

to do: manual