Refactored scale so it actually works with infinite scales and modes