project refactor and rules for folders