refine the data structure a touch
add eclipse ignores
perltidied
add snapshot