use 'new' approach with appavailability