ABITS: An Agent Based Intelligent Tutoring System for Distance Learning