A framework for web-based learning