Bit more abstractifying for API