abstract out window class
initial work at Math/Vector functions