resolves #1 - almost rewrite, lol