cleaned up generic repository