more code reduction