added general structure