Organize code into several files
Fix date in license statement
move package doc comment to doc.go