Added more details and restructured a bit