added some new functions!