blog post on records and protocols