Restructuring, adding public methods