added option parser