adapted printfs