Data layer implementation first checkin
Resolved conflicts
Resolved conflicts