Reimplement a application layer