Closes #123, #121, #119, #117, #118, #111, #113, #114