extract some static properties to util namespace
use cursor to clean up some arg ugliness