update directive and init data object
begin better recursive option builder
fix the recursiver directive
break apart directives
recursive options
new build