added actual entry_point method