use proise.void instead of fromvalue(0)