Refactored for epita standards