better printing and checking for fields