implement expand