Note: This post is still a work in progress
friendly-waddle source code