a lot less locking. avoid make, prefer {}
fix test