Correct list size on creation.
Break-up copy function.
Make switch style consistent.
Separate object creation and vm execution.