Fixed #106
Fixed #48
Fixed #22