some new functions are added