adding a general structure