reorganize classes, add argparse and secret handeling