removing a bit of indirection since these methods are so intricately linked