Seperated into individual classes