surface.Color returns the old color
more work on markup