added vbexception + improvements