methods working, main method