(#3) - better error support