implementation through Object Map