Moving logic to subclass, and other fixes
missing import