refactored
sort