We address the problem of locating users inside buildings using a radio-frequency (RF) wireless LAN. A previous paper presented the basic design and a limited evaluation of a user-location system we have developed. In this paper, we analyze shortcomings of the basic system, and develop and evaluate solutions to address these shortcomings. Additionally, we describe several new enhancements, including a novel access point-based environmental profiling scheme, and a Viterbi-like algorithm for continuous user tracking and disambiguation of candidate user locations. Using extensive data collected from our deployment, we evaluate our system’s performance over multiple wireless LAN technologies and in different buildings on our campus. We also discuss significant practical issues that arise in implementing such a system. our techniques are implemented purely in software and are easily deployable over a standard wireless LAN.