added caching for area
added chacing for clarity
fix to clarity function