Mole (Mobile Organic Localization Engine) provides room-level geoposition estimates using existing WiFi infrastructure. When you create an entry in the database by naming a room, your and other users' mobile devices will recognize when they are in that room. Other applications can poll or monitor the current room estimate and act accordingly, with context aware behavior. Because too much WiFi scanning drains batteries, it uses accelerometers and other tricks to keep scanning to a minimum while keeping update latency reasonable.