Re-added id based abstratus type.