magic object mapping