js sucks anyway