clean-up & refacto 1