just some refactor