added type checkers