done with the layering;
adding repository functionality;