fixed problem with contract return type