made type optional