cleaning up, but still unclear how this works, found o