abstract attempt