consistent timing and lint cleanup on JS