scaling the old implementation