use option parser