added part one of puppy functionality