From: http://www.pyragraph.com/2013/05/good-fast-cheap-you-can-only-pick-two/