add user functions
add with-user-functions macro
Merge pull request #20 from EvilTosha/master

User functions