Seperated classes to more properly give access to each method