Add main function for the implementation