another revision based on feedback from @callahad & @6a68 & @ozten