reorganised a bit