a firebase client! TODO: error handling