moving to more generic interface
Refactored from vector operations to basis operations.