changed the structure a bit