added peripheral library