merged mmoo97's latest code from master branch.
unmarked as a Work In Progress
merged
mentioned in commit 50220f11