Not going to implement Setup class now, I'll do it later.