grid and piece refactoring and some tests
update punch clock
update UML chart