usertype contract2