Fix #210
Finish #205
Address #189
Address #188
Address #202
Merge branch 'dev' into ms