Merge changes from implementing in client app

Here's a pull request to merge in all the changes made locally to date.