squashing all previous commits to attempt to bring the fork up to date with upstream