Unstable version. Trying to implement map interface.