introduce peripheral as module