added layer of abstraction square object
added square object, preparing to separate functionality from board and add square as a layer.