added excpetions