more String.isEmpty() where appropriate; FESL log cleanup
custom IO wrappers to avoid unnecessary array copies