roughly preserve point