restructure VM
added checks for gas in VM
cleaned up runBlock