use idleading instead of format
use requires instead of detective

http://jsperf.com/requires-vs-detective