lots of front end changes, and a few backend changes to support backbone