move out functionality related to geometry from Workspace.js