starts implementing main program class