Close #69. Close #75. Close #101.