everthing before reconstruct