http://wp.tutsplus.com/series/two-ways-to-develop-wordpress-plugins/