add typeof check