added alternative modes