made piece abstract class with abstract rotate method