Final version for class, maybe updates in the future, but who knows?