app feature detection
seperate app.