trying to make this shit more readable