Fixed #58, Fixed #57, Fixed #56