In order to design comprehensive models, the use of a correct syntax is necessary. A logical process flow needs to be created and the used elements have to be linked with each other.
Please make sure to use events directly after modelling an event based gateway.
When modeling expanded subprocesses you have to take care to connect the sequence flow to the subprocess element. Do not connect the first task in the subprocess with the sequence flow.
When modeling the message exchange between two pools, remember that a message flow (expanded & collapsed pool) or a sequence flow (expanded pools) must be modeled between the two (sending and receiving) elements.