fixes #318
fixes #305
fixes #306