modified vector calculations