start to improve vga/io abstractions