Added weak spec; Added comparison; MORE CODIGN NEEDED!