Added some guards to make sure it won't be included twice in the same file.