some refactor for project