add arguement parser for advanced option parsing