fix error handling, and bootable interface