Code clean-up and abstract drawing methods added