this thing is a pain to edit