added few comments, check affine for detailed