closes #218 #219 #217 #216 #215 #214 #213 #206