Artem
refactor and add DAO realization