New peripheral API