#43: committing while it works. needs more code cleanup for sure