added getSourceFile()
as() is almost complete