Make redistribution method much cleaner