design improvements
api call cache,  optimization