so how does this work?