код вроде работает, переписывает, может я не понял что не так, объясните пожалуйста