Updated tests.
Basic implementation.
Updated tests.
Fixes.