add some new functions and tests