remade decide method (solutions type from {0 => a} to {X => a})
added abilities decide transitivities purpose