implementation of new functions
implementation of new functions