i think i found a severe bug with the implementation... 