Updated with work-in-progress User Library containing the surface management functions.