how does this work anyways ?