Interfaces for repository added
Basic functionality for repository added to interfaces
Repository factory added