Help with my camera system

Hello! I am currently creating a camera system for my game which is Over the shoulder.

I have had great success so far in the creation of this using Humanoid.CameraOffset in order to put the camera to the side of the player. Though I am having a few issues with the camera being able to clip through walls, and was also wondering if there are any useful guides on camera sway when using a method such as this. (i suck at math)