refactoring draw