Little bit more refactored