Completely re-wrote height system (was all wrong)