in progress
using jQuery as much as possible