several new functions have been added here
was added more documentation for new functions