The aim of the paper is to describe the AgentPlanner, an agent-based timetabling system. After its initial implementation (described in [1]), based on results of experiments, we have modified the design (to eliminate discovered shortcomings). Here, we describe the improved AgentPlanner and compare its performance with the state-of-the-art, Free Timetabling Software (FET).