this is better soution