implemented new classes