Updating Richard branch from master