adding docblocks
adding interface for MenuRepository
adding more documentation