Develop

resolves #5, #10, #12, #13, #14, #15, #16