less external program calls, cleaner output