Seperated into three classes