removed context parameters and associated logic
reduced 'new' use a bit with fail-faster logic