create initial structure

the behavior must not change but there can be a new repo type.