Ordering by field is roughly implemented -- Need design + a little more refactoring