new changes on the code::replaced with Modupe's own