add library boilerplate