lots of changes to character printing