closes #9, reopens #30
closes #20
closes #35
closes #25
Merge remote-tracking branch 'dushyant/master'