Big refactoring and renaming. =)