Initial commit. Partial implementation.