work updated & improved