fixed - can now handle multiple factors and doesn't ignore two. which were two major flaws