bug fixed: map[nonexistent_key] should return null