added annotations to contract