changed most of it