readded main method