fail-type checked on server