added a few new functions