towards less state leak