PR #20 manual merge part1