added ability to specify custom fill function
added a few more features to the result
added ability to change default options
IE8 fix for eval