writing some new classes