this is how it should work