use ordering
use implicit arguments