Fixed errors in the DAO referencing interfaces instead of concrete classes. Also implemented some of the factory methods