Code cleanup
Software code cleanup, use argp for parsing instead of custom built argument parsing stuff