refactored how the drawing sequence works
refactored drawing routines