Added header guards for easy sourcing.