dao layer and helper classes