add helper functions
update example
support function source as message
Release 0.2.3