add preconditions as a serializableField