Closes #12,#13,#14