bootloaders and file reading utils... not optimized, but they work