general work for completion