make locf simple, avoid leaky abstraction