Major code overhaul. Supports endian. API BREAK!