better type for main