map prototype [sketch] and start of map impl