main function skeleton added