replaced ! bits with safer error code maybe lookups