strange stuff but works