refactored interfaces specific to DAL