Added initial interfaces.
Added initial implementations.