still playing with overbooking protection; might want to be acutally memory efficient
stablized overbooking protection code