Another rebase, trying to get a good project structure.