Close #148
Close #146
Close #133