compile -> expand