add some comments and make header safer