Update to new attribute syntax
Use iterators to map slices since vec::map has been removed