Fixes #105 #106 #107 #108 #110 #111 #112 #113 #114