make idattibute generic