added the main for entrypoint