ordering
encode fun