better factor use to be size independent