Completely redone adapter pattern.