Final Fixes and improvements. I give up about use non-recursive parenthesis.