MAJOR rewrite with Rideckulous code.  Code syntax update and cleanup