less composition boilerplate
agreement