more sensible layout and name