added ratio parameter