rebuild from file