Add feature from #1 as well improvements to the drawing and update cycle