Compassion projects

This method is very confusing (=hard to understand what it is doing). You should keep in mind when you write code that someone who reads it should be able to understand it easily. If you cannot simplify some parts, add comments and explain what your code is doing. See my other comments inside the function for more details on what can be improved.