File reading moved to server startup to simulate caching; client side uri generalized to ease debugging and deploying