updated to support guard compiling