Use http lib instead of react
Pull out reusable libraries