implemented .before option