Boilerplate implementation.