snapshot
moving to new struct