refactor structure
implements load source from repo