improved to use percentage for with