added user_functions.py
re-organzed parser
parsing may work well enough now...