moving extension method to a factory
removed adapter