added AsAble trait, so anything can use the AS clause