update
improved performances