refactored to use sass' mixins