added factory, await and sealed test