init method now runs after mixins are applied
updated version