Non-tested draft code with basic implementation.