At the moment I am writing a textbook in Foundations of Mathematics for students and trying to give a precise definition of a mathematical structure, which is the principal notion of structuralist approach to mathematics, formed by Bourbaki. Intuitively (and on many examples) the notion of a mathematical structure is clear: this is a pair $(X,S)$ consisting of a set $X$, endowed with a structure $S$, which is a set somehow related to $X$. This relation of $S$ to $X$ is well-defined for first-order theories, which use the notion of a signature. What about the general case?

I arrived the the following definition and would like to ask some terminological questions.

The main idea is that a mathematical structure is determined by a pair $(sigma,mathcal A)$ consisting of a set $sigma$ called the *signature* and a list $mathcal A$ of $sigma$-axioms. By a *$sigma$-axiom* I understand a pair $(varphi,c_varphi)$ consisting of a formula $varphi$ whose free variables are in the list $x,s,g,c$, and a set $c_varphiin sigma^{<omega}=bigcup_{ninomega}sigma^n$.

So $c_varphi$ is some fixed tuple of elements of the signature $sigma$.

Therefore, a $sigma$-formula $(varphi,c_varphi)$ can be interpreted as a formula with free variables $x,s$ and some fixed parameters in the set $sigmacup{sigma}$.

**Definition.** A *mathematical structure* of type $(sigma,mathcal A)$ is any ordered pair of sets $langle X,Srangle$ such that for any $sigma$-axiom $(varphi,c_varphi)inmathcal A$, the formula $varphi(X,S,sigma,c_varphi)$ is satisfied.

The set $X$ is called the *underlying set* of the mathematical structure $langle X,Srangle$ and the set $S$ is called its *structure*.

In the list $mathcal A$ of $sigma$-axioms we can encode all desired properties of the structure $S$, for example that it is an indexed family $(S_i)_{iinsigma}$ and for some $iinsigma$ the set $S_i$ is a binary operation on $X$ satisfying such-and-such axioms, whereas for another $jinsigma$, $S_j$ is a relation on the power-set of $X$ (for example, satisfying the axioms of topology) etc, etc.

The question is how to call the pairs $(sigma,mathcal A)$ determining a type of a mathematical structure? Which properties of the list $mathcal A$ of $sigma$-axioms guarantee that mathematical structures of type $(sigma,mathcal A)$ form a category (for some natural notion of a morphism between mathematical stuctures of the same type $(sigma,mathcal A)$)?

I have a strong suspicion that such questions has been already studied (and some standard terminology has been elaborated), but cannot find (simple) answers browsing the Internet. I would appreciate any comments on these foundational questions.