Support for virtual elements, fixes #1 and closes #19