updated contracts a bit