snapshot, core classes done