changed mixin to derive from object (deriving from form could lead to bugs)