Improved readibility with comments
Moved lines draw to their own methods
Use final for list iterators