Initial commit
Added the main function, which is used by the command line interface.