base stracte reset and create