basic scale logic implemented