rework commands and mixins