Add a bunch of pre and post-conditions