add AdaptorFactory