add Abstract class