implement db dto
add factory interfaces