introducing map
moving other methods across