added IF, Enum, Flip