added new classes & methods