first working version

Display works, but code needs some cleanup.