add support compiling to file...(not finished)