Some more code changes will rabase later.