bug fix
bug fix
dynamic type checking