#83 add enum for status
#83 add enum and abstract out vm status