added self and specs