Fixes #13 Fixes #14 Fixes #15 Fixes #16 Closes #13 Closes #14 Closes #15 Closes #16 .