First implementation, onyl with mutation.