Life

A little bit of refactoring here. Don't forget to rebase your local branches on master (once this PR is merged) to prevent conflicts.