updated with Adrien L. inputs