Refactor units into subtypes
 * Feels more natural than lots of if else blocks for the different categories. we'll see if it pays off
Split unit "classes" into separate files. got super confusing