some work but not complete