some ops should return a Maybe if theyre iffy