fixing return protocol