Added abstract class for all sructures