new functions and improvements
new functions and improvements