partial commit - untested code everywhere