first commit, to be a command-line version