clean-up & refacto 2