some new functions added