added some throws