add defer option

closes #8 and closes #9
1.4.0