Split scaling and translation into separate kernels