These two main activities in physics, data collection, theory production and testing, use many different skills. This has led to a lot of specialization in physics, and the introduction, development and use of tools from other fields. For example, theoretical physicists use mathematics and numerical analysis and statistics and probability and computer software in their work. Experimental physicists develop instruments and techniques for collecting data, using engineering and computer technology and many other fields of technology. Often the tools from these other areas are not quite appropriate for the needs of physics, and need to be changed or more advanced versions have to be made.