finally add various improvements