added some more work TODO