minimize code afer 5bab152bc21796ad3f0832c0a8421d114abb1b1c