update & fixed bugs