massive refactoring. encapsulated drawing area