* before algorithm