trying not to hate this language