added standard header and comments