re-implement getType() getId()