CHANGE: Reafactored project and NEW: Generic DAO