working and fixes