refactor, update opening effect