added some mroe comments