add usage and cli parser