implemented name changing