Boilerplate code as starting point.