Protocol handled in separate file