Added header and source files

Meanings of the files are obvious