propose refactor

To test, please change API_BASE_URI