Added more documentation and affine.go