refactor1 working
refactor2
reduced list to map