Data layer - refactoring
Unit testing added