abandoning the ugly hacks and using a `store` module