Documentation on protocols and programming custom solutions