refactore to get efficiency
also expliciti simulation is possible to compute using gal method