Added header file, starting refactor