First concrete implementations and unit tests.