peripheral and service wrapper classes seem to be working