Options cleanup

This fixes #54.

@xiaohe27, @yzhang90, @seriousamlqz Please review