feature: parse argv