move format check to the initialization stage