header + headerdata struct
moved function/struct declaration to a header file.