Flesh out more of protocol