less boilerplate