adding some additional features and comments