remove assertions and a downcast option