rewrite for my usage.