fix equals method
add constructors
improve dao interfaces