Added more comments and clarifications!