Added shape abstract class