better code
refactor