performance fix, f'ckin javascript rounding errors
add navi mixin with conditionals