more work on getting functions ready for new interface