Modified the main function for interfaces