moved most cmd args to abstract class. tests added