Added include guards to eliminate duplicate declarations.