 import Glibc
 
 
-public class StatBuffer: CustomStringConvertible {
+public struct StatBuffer: CustomStringConvertible {
 
   var buffer: CStat
-  lazy var _statMode = StatMode()
 
   public init() {
     buffer = Sys.statBuffer()

  public var isSymlink: Bool { return (mode & S_IFMT) == S_IFLNK }

  public var statMode: StatMode {
    _statMode.mode = mode
    return _statMode
  }

  public var description: String {

    self.buffer = buffer
  }

  mutating public func stat(path: String) -> Bool {
    return Sys.doStat(path, buffer: &buffer) == 0
  }

  mutating public func lstat(path: String) -> Bool {
    return Sys.lstat(path, buffer: &buffer) == 0
  }

