added basic binary protocol