new simplified interface