Abstract class creation