sub classes should now have static extend and create methods