updated with all codes
fixed