Issues #14, #15, #17, #18, #19 and #20.