updated structure a bit