Please Add comments what it's doing.