implemented surface detail reconstruction with penalty and constraint, results were poor