new functions - tools