updated with PRs