Resolves #2, Resolves #5