- cleanup + new scale function (WIP, untested)