added D3
finished D4