Close #55
Close #42
Close #40
Close #37