implement a really naive map