bugfixes; optional type checking