SOOO much work doing this…OMG.