initial concept for vm, needs cleaned