both compile