function renaming
entry point now takes source code file