require adapter