Refactory
Auto generate first round