without exceptions and xml