working version with normal degree of freedom