reworked Reflection2 to use PVector and OOP