def set_new_unit_data_into_db(data):
        new_unit_id = data["id"]
        new_unit_name = data['name']
        new_nuit_description = data['description'] if "description" in data else None
        new_unit_expansion = data['expansion']
        new_unit_age = data['age']
        new_unit_created_in = data['created_in']
        new_unit_cost = data['cost']
        #  ubit 43 reload_time constrain(not null) so I but any number to pass
        new_unit_build_time = data['build_time'] if "build_time" in data else 1
        # ubit 53  reload_time constrain not null, so I but any number to pass
        new_unit_reload_time = data['reload_time'] if "reload_time" in data else 1.2
        new_unit_attack_delay = data['attack_delay'] if "attack_delay" in data else None
        new_unit_movement_rate = data['movement_rate']
        new_unit_line_of_sight = data['line_of_sight']
        new_unit_hit_points = data['hit_points']
        new_unit_range = data['range'] if "range" in data else None
        #  ubit 53 attack constrain not null, so I but any number here to pass test
        new_unit_armor = data['armor']
        new_unit_attack = data['attack'] if "attack" in data else 1
        new_unit_armor = data['armor']
        new_unit_search_radius = data['search_radius'] if "search_radius" in data else None
        new_unit_accuracy = data['accuracy'] if "accuracy" in data else None
        new_unit_blast_radius = data['blast_radius'] if "blast_radius" in data else None
        new_unit_attack_bonuses = data['attack_bonus'].copy() if "attack_bonus" in data else None
        new_unit_armor_bonuses = data['armor_bonus'].copy() if "armor_bonus" in data else None

        #  see if the unit has attack/armor bounses
        attack_bonus = has_attack_bonus(new_unit_attack_bonuses)
        armor_bonus = has_armor_bonus(new_unit_armor_bonuses)

        try:
            #  save unit data into unit table
            new_unit = Unit(id=new_unit_id, name=new_unit_name, description=new_nuit_description, expansion=new_unit_expansion, age=new_unit_age, created_in=new_unit_created_in, cost=new_unit_cost, build_time=new_unit_build_time, reload_time=new_unit_reload_time, attack_delay=new_unit_attack_delay, movement_rate=new_unit_movement_rate, line_of_sight=new_unit_line_of_sight, hit_points=new_unit_hit_points, unit_range=new_unit_range, attack=new_unit_attack, armor=new_unit_armor, search_radius=new_unit_search_radius, accuracy=new_unit_accuracy, blast_radius=new_unit_blast_radius)
            new_unit.insert()
            #  in case unit has poth attack and armor bouns
            if ((attack_bonus is True) and (armor_bonus is True)):
                new_attack_bouns = AttackBouns(attackBouns=new_unit_attack_bonuses)
                new_armor_bouns = ArmorBouns(armorBouns=new_unit_armor_bonuses)
                new_unit.attack_bonuses = [new_attack_bouns]
                new_unit.armor_bonuses = [new_armor_bouns]
                new_attack_bouns.insert()
                new_armor_bouns.insert()

            #  in case unit has only armor bouns
            elif((attack_bonus is False) and (armor_bonus is True)):
                new_armor_bouns = ArmorBouns(armorBouns=new_unit_armor_bonuses)
                new_unit.armor_bonuses = [new_armor_bouns]
                new_armor_bouns.insert()

            #  in case unit has only attack bouns
            elif((attack_bonus is True) and (armor_bonus is False)):
                new_attack_bouns = AttackBouns(attackBouns=new_unit_attack_bonuses)
                new_unit.attack_bonuses = [new_attack_bouns]
                new_attack_bouns.insert()

        except (Exception, psycopg2.DatabaseError) as error:
            print('error during saving into database')
            print(error)
            return error
        finally:
            db.session.close()