added if name = main functionality