Work-in-progress: peripherals API