Most of the available robot programming by demonstration (PbD) approaches focus on learning a single task, in a given environmental situation. In this paper, we propose to learn multiple tasks together, within a common environment, using one of the available PbD approaches. Task-parameterized Gaussian mixture model (TP-GMM) is used at the core of the proposed approach. A database of TP-GMMs will be constructed for the tasks, and it will be used to provide the reproduction when needed. The environment will be shared between different tasks, in other words, all the available objects will be considered as external task parameters (TPs), as they may modulate the task. During the learning part, the relevance of the task parameters will be extracted for each task, and the information will be stored together with the parameters of the corresponding updated TP-GMM. For reproduction, the end user will specify the task and the robot will be able to pick the relevant TP-GMM and the relevant task parameters and reproduce the movement. The proposed approach is tested both in simulation and using a robotic experiment.