Changed some terminology and internals.