add new button features and the new offset mixin