Implements #2 part a