Similarly, staff in banks can perform more accurate audits and more thorough checks with less time and less effort to double check. In another example, developers can learn new languages and apply them more efficiently to their new projects. Developers can utilize or create libraries and functions to make new Application Program Interfaces (APIs), so that outputs can be presented quickly and appeared in a way that users can understand better about the services since APIs can interact between software and hardware more efficiently and directly without executing additional codes. All these examples support that Drilled-and-practice activities, hands-on activities and team design are common and suitable for these types of training. In developer workshops that core programming skills are aimed for improvement due to the running of simulations and experiments, then virtual laboratories and learning games are required to make that happen.