add ! flag for function keyword
Merge pull request #2 from koron/re-source-able