Fixed #1, Fixed #2, Fixed #3