add (c) boilerplate