added support for explict type specification