arbitrary graphs