Closes #212

and 192-197. Re-commit after fresh branch following merge problems