completed with static main