added command-line parser