Added main entry point