fix duplicate names, break good code architecture