moved headers into include and added header guards