perform throws also an IllegalArgumentException