Early work on classes
More stuff (don't expect real commit messages until it all coalesces)