abstract properties