added data service abstraction and $http calls and promises. closes #38