Refactor draw to split up into separate functions
Merged