added include guard (how did I miss that!)