up to preprocessing