split into separate modules; simplify command-line options