Fixed #10. Fixed #11. Fixed #12