refactored primitive object model & vector arithmetic