restored structure back to separate file per function