collision refactor
removed macro for pow2
removed unused function + constructor improvement