much better exception handling in SLC parser