added the optional type