Have something working but I feel very dirty...