added mixins to protocols