documentation driven development
WIP extract support code