fixed contract(fun) and implemented contract(meth)