first try at a pygame implementation, sorta works but buggy