some changes. still unusable
restructurization
restruct
restruct
restruct
restruct