Remade functional. GUI more applicable to OOP.