rework section on invoke, so it's harder to get lost or stuck