exception handeling
merged master