Replaced OptParse with ArgParse