some more work and structuring