cleanup
use Q promises for "defaults"