AFDP 31

Completed AFDP-31. Feel free to comment and review.