add "force protocol" decorator