improved simulation algorithm