major refactor to allow for neutral genders and later expansion