kernel improved, no leak