Import project changes into the dev branch

Implements the changes submitted by @ravigehlot into the dev branch. Fixes merge conflicts with existing project code on dev.