changed the whole structure