nice details...explained well!