more functionality changes