finished while. fixed bug for pre ++ and --.