Added better argument parsing (optparse)