Added bounding box collisions & cleanups/refactoring