vaguely working recursive creates