added command-line interface stuff