largely fixed performance issues with a little ajax and session management