closes #258 #199 #198 #195 #194 #177