refactor code -> cleaner