allowing the entry point name to be something other than main
add build tests