Options cleanup

This fixes #54.

@xiaohe27, @yzhang90, @seriousamlqz Please review
Revised. Please check again. Thanks