add some improves