WIP for Issue #5, #7, #8, #9