added procedural stuff. I hate commit messages.