added extends and mixins