add asynchronous valueFactory