refactor
fix a mistake
fix the bug that happens between dynamic objects