add order argument and return fields