refactor+space and vector