added some new functions