Resolves #22. Resolves #23.