added runtime exceptions