assign by ratio