added input *doesn't handle errors