added new functions;