work and fixes