refactor in a better structure