Use switch statement to allow for additional implementations