added self to A