implementing lunchd functionality