closes #49, closes #50