completed coding without fix bug