peripheral boilerplate