Please don't use instanceof