complete refactor, added getBySlug, getAll, addFile, add Directory