don't create reflection object unless it will be used