Added header files and comments