updates, working version