marker targets work horizontally, refactored Scales to use a module defining the different types