validation, socket, datastore