converted providers module to typescript