add and improving new classes