refactored builders for a cleaner code