Implementation od 2D game tutorial from Wrocławski Portal Informatyczny: http://informatyka.wroc.pl/node/387