begin messing around with protocol