More helper changes, route modifications, and a proof-of-concept "compel" function