Fixed #84 , #82, and #79