IT WORKS!!  now to clean up, optimize & write cmts