lots of graphics, kinda working code