Update after merging PRs #39, #44, #47, #38, #51, #53, #54