Made calculations more precise
Fixed weird behaviour of surface under function
... its the great unknown ...