moved virtuoso impl to module and separate profile