fixed keeper and co_keeper - need to test for failure case