closes #255, closes #262, closes #254