Re-implemented entire compatibility layer