Resolves #3. Resolves #4.