added underscore and improved helpers