Begin refactoring. Clarify especially draw()