Added a proxy layer

abstracted data access into a proxy layer.