refactoring and return to lite wersion of protocol