Rough boilerplate.