Refactored shapes. Able to ray trace a list of objects