integrate with option parser