constructor moved to AbstractClass