Merge PR #46,47,48