peripherals
first (not-working) version
almost working on the example
still needs correction
a first (not working) version