added some new functions to clearify