how it works