more functions and examples added