Added includes, fixed include guard