upgrade some functionality