added async model that returns a promise, added config loading, added userdata mocks and rendering