refactor polymorphic has_many support
add parameter 'includes' support