Basic working version
Left bugs:
- rotated squares
- square list refresh