added validation, error messaging.
updated so server wasn't hit for new data every time, using backbones mode syncing