Finished implementing ray interface