how it should work