some functionality updates