added engine.object.sort.custom()