Subclasses added to abstract piece class

As of right now there is only one function in each subclass (not
including inherited things)