update
working, but buggy!!