huge update to much to explane