tests working for protocol refactor