protocol done and tested, ps. no error checking for now