Cleaned up the approach