added New method and O types