make it work and updates