protocol tests working