closed #208
closed #203
closed #192
closed #187
closed #163