better arg parsing.