update, found unexpected bugs..