apply all of chens' changes