added option to choose if you want to use a base repository interface