Not completely clean, but ok.