Split into several files, accept command line args
Update usage