added crutial comments