implement 3rd and 4th dervs