I truly hate this function.