almost done need fixed