this next part is hell