exception + code enhancement