changed alot almost complete program