some little changes; to be checked