REFACTOR: lots of cleanup, and underscorification
REFACTOR: some more cleanup