adding pre/post conditions