add is_ and as_