add smart print utils