implement hasone annotation