this is good improvement, but maybe options should be optional parameter instead of just null..