Added header inclusion guards