this needs to be thought through