fixed minor bug + add catch except