added addBefore()