updated with double map usage