refactor protocol(e)