added defaults & refactoring
motion implemented and other piece types added in the process