avoid unnecessary copies
better error message; commenting
tiny clean
another tiny clean