added builders/immutable value objects for command line options