move definition to **immediately** before first using